//  配置封装axios 请求
//  引入axios 
import axios from 'axios'
// instance 还是axios,只不过该axios 具备baseURL,timeout,headers
const instance = axios.create({
    // 配置公共请求地址
    baseURL: '/api',
    // 配置请求时长 (当请求超过该时间,则自动中断请求)
    timeout: 5000,
    // 配置请求头(只针对post 请求有效)
    headers: { 'Content-Type': 'application/json' }
});
// 输出环境变量
//process.env 是node中的全局变量  类似于js中的 window
console.log(process.env.NODE_ENV); // development 或 production
console.log(process.env.VUE_APP_BASE_URL); // 开发对应的值是 /api 或 生产环境对应的值是 http://kumanxuan1.f3322.net:8001
// 添加一个请求拦截器
instance.interceptors.request.use(function (config) {
    // 请求发送前的逻辑处理
    // 一般用于修改请求头, 给请求头设置参数, 一般该参数为token,然后后端就可以从请求头header 中获取该参数
    // const token = localStorage.getItem('token');
    // if (token) {
    //     // 请求发送前,设置headers 属性,添加参数
    //     config.headers['X-Nideshop-Token'] = token
    // }




    return config;
}, function (error) {
    // Do something with request error
    return Promise.reject(error);
});

// 添加一个响应拦截器
instance.interceptors.response.use(function (response) {
    // 可以出一些操作 比如状态码的判断操作 或者是更新一些本地存储内容操作
    return response;
}, function (error) {
    // Do something with response error
    return Promise.reject(error);
});

// 导出该instance (封装后的axios)
export default instance